package com.imoney.framework.base.exception;

/**
 * 
 * Description: <BR>
 * Service层统一抛出的异常
 * 
 * @author Danff Liu CreateTime: Mar 21, 2011
 */
public class ServiceException extends RuntimeException {

	private static final long serialVersionUID = 4514891174875747350L;

	/** 异常错误码 **/
	private int code;

	/** 异常描述 **/
	private String msg;

	/**
	 * @param code
	 *            错误码
	 * @param isSysException
	 *            是否是系统异常，true表示是，false表示不是系统异常
	 */
	public ServiceException(int code) {
		super(code + ":");
		this.code = code;
	}

	/**
	 * @param code
	 *            错误码
	 * @param msg
	 *            描述信息
	 */
	public ServiceException(int code, String msg) {
		super(code + ":" + msg);
		this.code = code;
		this.msg = msg;
	}

	/**
	 * @param code
	 *            错误码
	 * @param msg
	 *            描述信息
	 * @param e
	 *            异常
	 */
	public ServiceException(int code, Throwable e) {
		super(code + ":", e);
		this.code = code;
	}

	/**
	 * @param code
	 *            错误码
	 * @param msg
	 *            描述信息
	 * @author isSysException 是否是系统异常，true表示是，false表示不是系统异常
	 * @param e
	 *            异常
	 */
	public ServiceException(int code, String msg, Throwable e) {
		super(code + ":" + msg, e);
		this.code = code;
		this.msg = msg;
	}

	@Override
	public synchronized Throwable fillInStackTrace() {
		return null;
	}

	/**
	 * 方法说明：异常错误码
	 * 
	 * @return
	 */
	public int getCode() {
		return code;
	}

	/**
	 * 方法说明：异常描述信息
	 * 
	 * @return
	 */
	public String getMsg() {
		return msg;
	}

}
